Teil 1: Wie man Partitionen neue/alte UUIDs gibt

Wie ändert man eigentlich eine UUID einer Platte oder Partition und wieso macht man das überhaupt?

Wie man Partitionen neue/alte UUIDs gibt

Zur Zeit habe ich ein spannendes Projekt, bei dem soviel schief geht, daß man aus dem Lernen und kreativ sein, gar nicht mehr rauskommt 🙂 Als Hintergrund müßt Ihr nur wissen, daß wir einen Hotstand-by-Server für einen Kunden realisieren, der in einem anderem Rechenzentrum und Netzsegment steht. Er hat also nicht die gleiche IP, nicht die gleiche MAC usw. aber alle Configs sollen gleich sein, damit alles reibungslos klappt, wenn man dahin umschaltet.

„Warum? Damit die Kiste noch bootet“

So ein Server hat nicht nur eine Webseite, sondern tausende davon, dazu Mailkonten, FTP Zugänge, SSH Benutzer usw. usw. Dies bedeutet, daß eine Menge an Konfigurationen zwischen den Servern synchronisiert werden müssen, wo man ganz leicht den Überblick verlieren kann und so Dateien auf dem Hotstand-by-Server nicht auf Stand wären.

Daher haben wir uns zu einem Full-Sync entschieden, soweit das geht. D.h. es werden alle Dateien des Server gesynct, außer denen die absolut nicht geändert werden dürfen z.b. die Netzwerkkonfiguration. Dies minimiert Fehlerquellen, erzwingt aber 1:1 Hardware und, ob man es glaubt oder nicht, auch die gleichen Festplattenreihenfolge.

Jetzt haben wir eine frische VM auf dem externen Server erstellt, was bedeutet der hat seine Platte frisch Partitioniert und formatiert. Die unterscheidet sich aber von der auf dem Originalserver und das würde nach dem Sync von /etc/ dazu führen, daß der Server nicht mehr bootet, weil die /etc/fstab so aussieht:

#
# /etc/fstab
# Created by anaconda on Thu Mar 3 13:22:46 2016
#
# Accessible filesystems, by reference, are maintained under ‚/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=17b8949a-60ad-422f-8b9b-f7b9da7f36fe / ext4 defaults,usrquota 1 1
UUID=614da79b-c6c6-4534-b673-fbec98089270 swap swap defaults 0 0
devtmpfs /opt/root/dev devtmpfs rw,nosuid,mode=755 0 0
proc /opt/root/proc proc rw,nosuid,nodev,noexec,relatime 0 0

Wie man leicht erkennen kann, ist die Systemplatte per UUID eingebunden, und da es eine andere Partition ist, haben wir auch eine andere UUID. Das müssen wir ändern, also schauen wir auf dem normalen Server mal nach, wie denn die UUID ist:

$ lsblk -f
NAME   FSTYPE  FSVER            LABEL                 UUID                                 FSAVAIL FSUSE% MOUNTPOINTS                                                                                                
sdb                                                                                                       
├─sdb1                                                                                                    
├─sdb2 ext4    1.0                                    17b8949a-60ad-422f-8b9b-f7b9da7f36fe  264,1G    59% /
└─sdb3 swap    1                                      614da79b-c6c6-4534-b673-fbec98089270                [SWAP]

Wir haben also zwei Partitionen mit UUIDs, genau wie in der /etc/fstab ( was für ein Zufall 😉 ).

Wenn Ihr das selbst versucht, Ihr werdet andere Partitionen haben und das nicht 1:1 nachmachen können!

Da haben wir eine ext4 und eine swap Partition und damit auch gleich das erste Problem, wie Ihr gleich feststellen werdet, aber eins nach dem anderen. Zuerst setzen wir mal die neue UUID für ext4:

tune2fs -U 17b8949a-60ad-422f-8b9b-f7b9da7f36fe /dev/sdb2

Wenn man jetzt „tune2fs -U 614da79b-c6c6-4534-b673-fbec98089270 /dev/sdb3“ macht, weil das bei sdb2 so gut geklappt hat, dann wird tune2fs das mit einer Fehlermeldung verweigern :

tune2fs 1.47.0 (5-Feb-2023)
tune2fs: Ungültige magische Zahl im Superblock beim Versuch, /dev/sdb3 zu öffnen
/dev/sdb3 hat ein swap-Dateisystem

Es muß also einen anderen Weg geben, einer Swap Partition eine neue UUID zu verpassen… welcher könnte das sein?

Das SWAPLABEL

Holen wir uns doch erst einmal die UUID, wenn wir schon dabei sind:

$ swaplabel /dev/sdb3
UUID: 614da79b-c6c6-4534-b673-fbec98089270

und genauso leicht kann man die auch ändern:

$ swaplabel –uuid 614da79b-c6c6-4534-b673-fbec98089270 /dev/sdb3

Jetzt darf man auf keinen Fall vergessen die /etc/fstab anzupassen, sonst stehen da die alten UUIDs drin und das System bootet nicht mehr. Wenn man natürlich jetzt den Sync von /etc/ anwirft, erübrigt sich das natürlich 😉

Für ReiserFS und andere Filesysteme gibt es teilweise Spezialtools, die mit dem Filesystem zusammen ausgeliefert werden. Wer das mit einem grafischen Werkzeug wie GParted oder Gnome-Disks machen möchte, muß nicht mal wissen, was für ein Filesystem er da vor sich hat.

Apropos neue UUIDs geben, das geht so:

tune2fs -U $(uuidgen) /dev/sdxX

Je nach Distro (hier Fedora) die Ihr verwendet, kann der Befehl auch nur „uuid“ heißen.

Linux am Dienstag – Programm für den 22.4.2025

Diesmal bei Linux am Dienstag gibt es viele kleine Tricks und Bugfixe zum Fedora & Cinnamon Update, wie

Linux am Dienstag – Programm für den 22.4.2025

u.a. im Programm am 22.4.2025, ab 19 Uhr :

Linux – Advanced Routing – 101 (Marius)
Linux – UUID’s von Partitionen ändern
Network – Wieso 3,5Mb/s weißes Rauschen nicht ok sind, auch wenn der Support das sagt.
Linux – Fedora Update Bugs beheben
Linux – RSync für einen ganzen Server (Marius)

und andere IT-Newsbeiträge aus aller Welt. Wie jede Woche per Videokonferenz auf https://meet.cloud-foo.de/Linux .
Hinweis: Die bisherigen Vorträge findet man unter https://linux-am-dienstag.de/archiv/ .

Cinnamon: 30% GPU usage im Leerlauf mit NVIDIA Treibern

Ihr habt Eure Nvidia Treiber aktualisiert und nun sind Gnome und Cinnamon dabei, Eure GPU im Leerlauf zu beschäftigen oder Ihr könnt gar nicht mehr sauber einloggen, weil Cinnamon mit 100% CPU Last läuft nach dem Login? Dran bleiben!

Cinnamon: 30% GPU usage im Leerlauf mit NVIDIA Treibern

Euch kann geholfen werden.

Ich habe das jetzt ein Jahr vor mir her geschoben, weil es einfach nicht zu beheben war, aber jetzt gings doch.

Als ich meine erste GTX1050 so um 2012/2013 gekauft hatte, schrieb der Installer die folgende xorg.conf zusammen:

...
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1050"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-4"
    Option         "metamodes" "HDMI-1: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On, AllowGSYNC=Off}, DVI-D-0: 1280x1024_75 +1920+56 {ForceCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Seit Nvidia 550.90+ funktionierte der Login mit den Eingangs beschriebenen Symptomen nicht mehr.

Wenn man aber die ganzen „Option“s Anweisungen rausnimmt und zusätzlich noch:

nouveau.modeset=0 nvidia-drm.modeset=0

aus der Kernel Bootconfiguration entfernt, dann geht es wieder! Eurem Update geht jetzt also nichts mehr im Weg.